package org.example.blog.mapper;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.example.blog.model.BlogInfo;

import java.util.List;

@Mapper
public interface BlogInfoMapper {

    // 博客列表页 进行的数据库操作
    // 1. 根据用户id查询用户信息
    // 2. 获取博客列表
    @Select("select * from blog where delete_flag=0 order by create_time desc")
    List<BlogInfo> queryBlogList();

    // 博客详情页 进行的数据库操作
    // 1. 根据用户id查询用户信息
    // 2. 根据博客id 获取博客详情
    @Select("select * from blog where id = #{id} and delete_flag=0")
    BlogInfo queryById(Integer id);
    // 3. 根据博客id 编辑博客
    @Update("update blog set title=#{title}, content=#{content} where id = #{id}")
    Integer updateBlog(BlogInfo blogInfo);
    // 4. 根据博客id 删除博客
    @Update("update blog set delete_flag = 1 where id = #{id}")
    Integer deleteBlog(Integer id);
    // 博客添加/修改
    // 根据输入内容, 添加博客
    @Insert("insert into blog (title, content, user_id) values (#{title}, #{content}, #{userId})")
    Integer insertBlog(BlogInfo blogInfo);

}
